// 这个文件定义了一个名为 `useTabStore` 的 Pinia store，用于管理选项卡的状态。
// 该 store 包含以下内容：
// - state: 一个包含 `tabs` 数组的初始状态。
// - actions: 两个操作方法 `addTab` 和 `removeTab`，用于添加和移除选项卡。
//   - `addTab(tab)`: 如果 `tabs` 数组中不存在与传入的 `tab` 对象相同 `link` 的选项卡，则将其添加到 `tabs` 数组中。
//   - `removeTab(tab)`: 从 `tabs` 数组中移除与传入的 `tab` 对象 `link` 相同的选项卡。

import { defineStore } from 'pinia'

export const useTabStore = defineStore('tab', {
    state: () => ({
        tabs: []
    }),
    actions: {
        addTab (tab) {
            if (!this.tabs.find(t => t.link === tab.link)) {
                this.tabs.push(tab)
            }
        },
        removeTab (tab) {
            this.tabs = this.tabs.filter(t => t.link !== tab.link)
        }
    }
})